<script>
import {
  initData,
  storeInfoList
} from 'api/home-api.js'

export default {
  onLaunch: function () {
    this.$store.dispatch('user/getCity');
    //获取附近的门店
    uni.$on('locationSuccess', () => {
      this.getStore();
    })
    this.checkUpdate();
  },
  onShow: function (options) {
    if (options.scene == 1001) { //通过搜索入口
      this.$store.commit('user/saveMemberSource', 1);
    } else if (options.scene == 1011) { //通过扫码入口
      this.$store.commit('user/saveMemberSource', 2);
    } else if (options.scene == 1007 || options.scene == 1008) { //其他统一视为分享进入(如果要做真实分享进入统计需在分享小程序的地址中拼接特定标识类型)
      this.$store.commit('user/saveMemberSource', 3);
    } else {
      //其他方式进入
      this.$store.commit('user/saveMemberSource', 4);
    }

    let openId = uni.getStorageSync('openid');
    if (!uni.$u.test.isEmpty(openId)) {
      this.$store.commit('user/saveOpenId', openId);
      this.$store.commit('user/saveIsLogin', true);
    }

    let userInfo = uni.getStorageSync('userInfo');
    if (!uni.$u.test.isEmpty(userInfo)) {
      this.$store.commit('user/saveUserInfo', userInfo);
    }

    let censorStatus = uni.getStorageSync('censorStatus');
    if (!uni.$u.test.isEmpty(censorStatus)) {
      this.$store.commit('user/saveCensorStatus', censorStatus);
    }

    //获取初始化数
    initData(this.$store.state.user.tenantId).then(res => {
      // console.log(res);
      let initData = res.data;
      this.$store.commit('initData/saveInitData', initData);
    })


  },
  onHide: function () {

  },
  methods: {

    getStore() {
      storeInfoList({
        tenantId: this.$store.state.user.tenantId,
        lat: this.$store.state.user.lat,
        lon: this.$store.state.user.lng,
        bizType: 1,
      }).then(res => {
        if (res.code == 200) {
          this.$store.commit('user/saveTakeStoreId', res.data.storeId);
          this.$store.commit('user/saveTakeStoreId', res.data.storeId);
          this.$store.commit('user/saveTakeStoreBusinessStartTime', res.data.businessStartTime);
          this.$store.commit('user/saveTakeStoreBusinessEndTime', res.data.businessEndTime);
          uni.$emit('changeStore');
          // 获取默认订单下单时间
          this.$store.dispatch('order/getOrderTime');
        }
      })
    },

    checkUpdate() {
      // 获取小程序更新机制兼容
      if (uni.canIUse('getUpdateManager')) {
        const updateManager = uni.getUpdateManager()
        // 检查是否有新版本发布
        updateManager.onCheckForUpdate(function (res) {
          if (res.hasUpdate) {
            //小程序有新版本，则静默下载新版本，做好更新准备
            updateManager.onUpdateReady(function () {
              uni.showModal({
                title: '更新提示',
                content: '新版本已经准备好，是否重启应用？',
                success: function (res) {
                  if (res.confirm) {
                    //新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                    updateManager.applyUpdate()
                  } else if (res.cancel) {
                    //如果需要强制更新，则给出二次弹窗，如果不需要，则这里的代码都可以删掉了
                    uni.showModal({
                      title: '温馨提示',
                      content: '我们已经做了新的优化，请及时更新哦~',
                      showCancel: false, //隐藏取消按钮，也可显示，取消会走res.cancel，然后从新开始提示
                      success: function (res) {
                        //第二次提示后，强制更新
                        if (res.confirm) {
                          // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                          updateManager.applyUpdate()
                        } else if (res.cancel) {
                          //重新回到版本更新提示
                          autoUpdate()
                        }
                      }
                    })
                  }
                }
              })
            })
            // 新的版本下载失败
            updateManager.onUpdateFailed(function () {
              uni.showModal({
                title: '温馨提示',
                content: '新版本已经上线，请您删除当前小程序，重新搜索打开',
              })
            })
          }
        })
      } else {
        // 提示用户在最新版本的客户端上体验
        uni.showModal({
          title: '温馨提示',
          content: '当前微信版本过低，可能无法使用该功能，请升级到最新版本后重试。'
        })
      }
    }
  },
}
</script>

<style lang="scss">
/*每个页面公共css */
@import "@/uni_modules/uview-ui/index.scss";
@import "@/wxcomponents/vant/dist/common/index.wxss";
@import "@/style/common.scss";
</style>
